SRG-76-30-8-14 auxiliary computations

v,k,la,mu=76,30,8,14 pq=[-4/15,7/45] # p and q for our SRG pqc=[1/15,-1/15] # p and q for the complement of our SRG #Corollary 3.2 def rhs_sys(m,dj):#right hand sides of (3.1)-(3.3) res = [v-m] res.append(m*k-sum([j*dj[j] for j in range(len(dj))])) res.append(m*(m-1)/2*mu+sum([-j*(j-1)/2*dj[j]+(la-mu)*j*dj[j]/2 for j in range(len(dj))])) return res def lhs_sys(bj):#left hand sides of (3.1)-(3.3) - for verification only res = [sum([b for b in bj])] res.append(sum(j*bj[j] for j in range(len(bj)))) res.append(sum(j*(j-1)/2*bj[j] for j in range(len(bj)))) return res #Corollary 3.2 i-vi print rhs_sys(4,[0,0,0,4]), lhs_sys([0,36,36]) print rhs_sys(7,[0,0,0,0,6,0,1]), lhs_sys([0,0,27,42]) print rhs_sys(6,[0,0,0,0,6]), lhs_sys([0,0,54,16]) print rhs_sys(7,[0,0,0,0,5,2]), lhs_sys([0,0,28,40,1]), lhs_sys([0,1,25,43,0]) print rhs_sys(8,[0,0,0,0,3,4,1]), lhs_sys([0,0,7,56,5]) print rhs_sys(8,[0,0,0,0,2,6]), lhs_sys([0,0,8,54,6]) 
       
[72, 108, 36] [72, 108, 36]
[69, 180, 153] [69, 180, 153]
[70, 156, 102] [70, 156, 102]
[69, 180, 154] [69, 180, 154] [69, 180, 154]
[68, 202, 205] [68, 202, 205]
[68, 202, 206] [68, 202, 206]
#M - generating Gram matrix as in Lemma 3.3 def M(m,a,p_q):#only a[i][j] with i<=j are taken p,q=p_q[0],p_q[1] l=len(m) M=[0]*l for i in range(l): M[i]=[0]*l M[i][i]=m[i]+2*a[i][i]*p+(m[i]*(m[i]-1)-2*a[i][i])*q for i in range(l-1): for j in range(i+1,l): M[i][j]=a[i][j]*p+(m[i]*m[j]-a[i][j])*q M[j][i]=M[i][j] return matrix(M) #S - computing the sum from Lemma 3.7 def S(lam,m,e,p_q): p,q=p_q[0],p_q[1] return sum([lam[j]*(p*e[j]+q*(m[j]-e[j])) for j in range(len(m))]) #zin - computing the extra term (1-q)/(p-q) from Remark 3.7 for the case when z in G_j def zin(p_q): return (1-p_q[1])/(p_q[0]-p_q[1]) #projection coefficients from Proposition 3.9, setting up and solving system (3.6) #arguments: sizes of vertex groups, binary adjacency, degree matrix def PC(v,a,d,p_q): p,q=p_q[0],p_q[1] n=len(v) g=[var('g_%d' %i) for i in range(n)] eqns = [q+(p-q)*a[i] == (1-q)*g[i]+sum([g[j]*(p*d[i][j]+q*(v[j]-d[i][j])) for j in range(n)]) for i in range(n)] return solve(eqns,[g[i] for i in range(n)]) #dot product in projected space #coefficients, n^2 vertices, n^2 by n^2 edges def DP(c,v,e,p_q): p,q=p_q[0],p_q[1] n=len(c) nn=n*n res = 0 for i in range(nn): for j in range(nn): pdp = 0 if i==j: pdp = v[i]+2*e[i][i]*p+(v[i]*(v[i]-1)-2*e[i][i])*q else: pdp = e[i][j]*p+(v[i]*v[j]-e[i][j])*q res += c[floor(i/n)]*c[j % n]*pdp return res #cos of the angle in orthogonal projection to given space # adjacency, n_xy, n_xx, alpha, beta, where dot product of projections is alpha n + beta def CA(a,nxy,nxx,alpha,beta,p_q): p,q=p_q[0],p_q[1] return (q+(p-q)*a-(alpha*nxy+beta))/(1-(alpha*nxx+beta)) 
       
print M([5],[[10]],pq) #Corollary 3.5 no K_5 print M([4,1],[[6,3],[0,0]],pq).det() #Corollary 3.5 no K_5 
       
[-1/3]
779/2025
var('w') print M([4,18,1],[[6,36,1],[0,w,18],[0,0,0]],pq).det()/(36-w) #Lemma 5.1 Case 1 print M([4,18,1],[[6,36,1],[0,36,18],[0,0,0]],pq).kernel() print solve(S([1,1/4,1],[4,18,1],[1,w,1],pq),w)[0].right_hand_side() print solve(S([1,1/4,1],[4,18,1],[1,w,0],pq),w)[0].right_hand_side() print solve(S([1,1/4,1],[4,18,1],[3+zin(pq),w,1],pq),w)[0].right_hand_side() print solve(S([1,1/4,1],[4,18,1],[3+zin(pq),w,0],pq),w)[0].right_hand_side() 
       
722/1125
Vector space of degree 3 and dimension 1 over Rational Field
Basis matrix:
[  1 1/4   1]
6
10
6
10
print M([6,6,1],[[w,12,6],[0,9,6],[0,0,0]],pq).det() #Lemma 5.1 Case 2 (3,1,1,1) print M([6,6,1],[[0,12,6],[0,9,6],[0,0,0]],pq).kernel() print solve(S([1,4,8],[6,6,1],[w,2,0],pq),w)[0].right_hand_side() print M([10,6],[[w,60],[0,0]],pq).det() 
       
-1444/3375*w
Vector space of degree 3 and dimension 1 over Rational Field
Basis matrix:
[1 4 8]
6
-1216/135*w
print M([6,1],[[12,w],[0,0]],pq).det() #Lemma 5.1 Case 2 (2,2,2,0) print M([16,6],[[w,48],[0,12]],pq).det() 
       
-1/2025*(19*w - 42)^2 + 8/15
-304/675*w
print M([7,1],[[15,w],[0,0]],pq).det() #Lemma 5.1 Case 2 (2,2,1,1) print M([6,3,4,1],[[w,6,12,6],[0,3,6,3],[0,0,6,1],[0,0,0,0]],pq).det() print M([6,3,4,1],[[0,6,12,6],[0,3,6,3],[0,0,6,1],[0,0,0,0]],pq).kernel() print solve(S([1,4,4,4],[6,3,4,1],[w,0,2,0],pq),w)[0].right_hand_side() 
       
-1/2025*(19*w - 49)^2 + 13/15
-13718/50625*w
Vector space of degree 4 and dimension 1 over Rational Field
Basis matrix:
[1 4 4 4]
6
print M([8,1],[[19,w],[0,0]],pq).det() #situation (2,1) print M([5,8],[[w,20],[0,19]],pq).det() #G_{14} empty print M([1,5,7],[[0,w,6],[0,0,20-w],[0,0,13]],pq).det().expand() #y_1 no edges to G_14 print M([1,5,7],[[0,0,6],[0,0,20],[0,0,13]],pq).kernel() print solve(S([1,1/5,4/5],[1,5,7],[0,w,2],pq),w)[0].right_hand_side() print solve(S([1,1/5,4/5],[1,5,7],[1,w,1],pq),w)[0].right_hand_side() #any vertex from G_{15} is connected to all of y_1\cup G_{14} print solve(S([1,1/5,4/5,4/5],[1,5,3,4],[0,w,zin(pq),4],pq),w)[0].right_hand_side() print solve(S([1,1/5,4/5,4/5],[1,5,3,4],[1,w,zin(pq),3],pq),w)[0].right_hand_side()#any one from G_{16} is connected to all of y_1\cup G_{14} 
       
-1/2025*(19*w - 56)^2 + 2/3
-76/135*w + 38/81
-722/6075*w^2 - 1444/3645*w
Vector space of degree 3 and dimension 1 over Rational Field
Basis matrix:
[  1 1/5 4/5]
6
5
6
5
print M([6,8],[[w,24],[0,19]],pq).det() #G_{17} empty print M([6,8],[[0,24],[0,19]],pq).kernel() print solve(S([1,4],[6,8],[w,2],pq),w)[0].right_hand_side() #any vertex from G_{18} is connected to all of G_{17} print solve(S([1,4,4],[6,6,2],[w,4,zin(pq)],pq),w)[0].right_hand_side()#any one from G_{19} is connected to all of G_{17} 
       
-76/135*w
Vector space of degree 2 and dimension 1 over Rational Field
Basis matrix:
[1 4]
6
6
print M([6,3,4,1],[[w,6,12,0],[0,3,6,0],[0,0,6,1],[0,0,0,0]],pq).det() #G_{21} empty print M([6,3,4,1],[[0,6,12,0],[0,3,6,0],[0,0,6,1],[0,0,0,0]],pq).kernel() print solve(S([1,4,6,-4],[6,3,4,1],[w,2,1,0],pq),w)[0].right_hand_side() #G_{22} no edges to G_{21} print solve(S([1,4,6,6,-4],[6,3,3,1,1],[w,2,3,zin(pq),0],pq),w)[0].right_hand_side() #G_{23} no edges to G_{21} 
       
-13718/50625*w
Vector space of degree 4 and dimension 1 over Rational Field
Basis matrix:
[ 1  4  6 -4]
0
0
print M([8,3,4,1],[[w,16,8,0],[0,3,6,0],[0,0,6,1],[0,0,0,0]],pq).det() #G_{22} empty print M([1,8,3,3,1],[[0,w,2,3,0],[0,0,16,8-w,0],[0,0,3,4,0],[0,0,0,3,1],[0,0,0,0,0]],pq).det() #no edges between G_{22} and G_{23} 
       
-13718/50625*w + 109744/455625
-130321/2278125*w^2 - 4170272/20503125*w
print PC([20,20],[1,0],[[4,8],[8,4]],pq)#Proof of Lemma 5.2, solving system (3.7) var('nn','ee') print DP([-1/9,1/18],[nn,20-nn,20-nn,nn],[[ee,4*nn-2*ee,4*nn-2*ee,4*nn+2*ee],[4*nn-2*ee,40-ee,160-12*nn+2*ee,-4*nn+2*ee],[4*nn-2*ee,160-12*nn+2*ee,40-ee,-4*nn+2*ee],[4*nn+2*ee,-4*nn+2*ee,-4*nn+2*ee,8*nn-3*ee]],pq).expand()# simplifying RHS of (3.8) print CA(1,8,20,19/270,-52/81,pq)#cosine for adjacent print CA(0,nn,20,19/270,-52/81,pq)#cosine for disjoint 
       
[
[g_0 == (-1/9), g_1 == (1/18)]
]
19/270*nn - 52/81
-4/5
-3/10*nn + 17/5
print PC([8,8],[1,0],[[0,0],[0,0]],pq)#Proof of Lemma 5.3, solving system (3.7) print DP([-4/15,7/30],[nn,8-nn,8-nn,nn],[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]],pq).expand()# simplifying RHS of (3.8) print CA(ee,nn,8,19/90,-112/135,pq)#cosine 
       
[
[g_0 == (-4/15), g_1 == (7/30)]
]
19/90*nn - 112/135
-3*ee - 3/2*nn + 7
print M([6,10],[[0,60],[60,0]],pq).det()#Proof of Lemma 5.4 print M([6,10],[[0,60],[60,0]],pq).kernel() var('e1','e2')#neighbors in \wt G_1 and \wt G_2 print 135*S([1,2/3],[6,10],[e1,e2],pq) print M([6,10],[[0,60],[60,0]],pqc).det()#same for dual print M([6,10],[[0,60],[60,0]],pqc).kernel() print 15/2*S([1,-1],[6,10],[e1,e2],pqc) print S([1,2/3],[6,10],[2,4],pq)#verifying the solution print S([1,-1],[6,10],[2,4],pqc) 
       
0
Vector space of degree 2 and dimension 1 over Rational Field
Basis matrix:
[  1 2/3]
-57*e1 - 38*e2 + 266
0
Vector space of degree 2 and dimension 1 over Rational Field
Basis matrix:
[ 1 -1]
e1 - e2 + 2
0
0
print PC([2,4,4,6],[1,0,1,0],[[0,0,4,6],[0,0,4,6],[2,4,0,0],[2,4,0,0]],pq)#solving (3.7) var('n1','n2') print DP([-1/4,1/4],[n1+n2,6-n1-n2,6-n1-n2,4+n1+n2],[[n1*n2,n1*(4-n2)+n2*(2-n1),n1*(4-n2)+n2*(2-n1),n1*(2+n2)+n2*(2+n1)],[n1*(4-n2)+n2*(2-n1),(2-n1)*(4-n2),2*(2-n1)*(4-n2),(2-n1)*(2+n2)+(4-n2)*(2+n1)],[n1*(4-n2)+n2*(2-n1),2*(2-n1)*(4-n2),(2-n1)*(4-n2),(2-n1)*(2+n2)+(4-n2)*(2+n1)],[n1*(2+n2)+n2*(2+n1),(2-n1)*(2+n2)+(4-n2)*(2+n1),(2-n1)*(2+n2)+(4-n2)*(2+n1),(2+n1)*(2+n2)]],pq).expand() print CA(0,nn,6,19/90,-43/90,pq)#adjacent print CA(1,nn,6,19/90,-43/90,pq)#disjoint 
       
[
[g_0 == 3/2*r1 - 5/8, g_1 == 3/2*r1 - 1/8, g_2 == r1 - 1/2, g_3 ==
r1]
]
19/90*n1 + 19/90*n2 - 43/90
-nn + 3
-nn + 1
print M([10,10],[[w,80+2*w],[0,w]],pq).det().expand() #no more than 3 edges in H_1 
       
-5776/81*w + 19760/81